Complex Exponential Modulated Filter Bank for High Frequency Reconstruction

ABSTRACT

An apparatus and method are disclosed for filtering and performing high frequency reconstruction of an audio signal. The apparatus includes an analysis filter bank, a phase shifter, a high frequency reconstructor, and a synthesis filter bank. The analysis filterbank receives real-valued time domain input audio samples and generates complex valued subband samples. The phase shifter shifts a phase of the complex-valued subband samples by an arbitrary amount. The high frequency reconstructor modifies at least some of the complex valued subband samples. A phase shifter unshifts a phase of the modified complex-valued subband samples by the arbitrary amount. The synthesis filter bank receives the modified complex valued subband samples and generates time domain output audio samples. The analysis filter bank comprises analysis filters that are complex exponential modulated versions of a prototype filter with an arbitrary phase shift.

This application is a divisional application of U.S. patent applicationSer. No. 14/810,174 filed Jul. 27, 2015, which is a continuation of U.S.patent application Ser. No. 14/306,495 filed on Jun. 17, 2014, now U.S.Pat. No. 9,449,608 issued on Sep. 20, 2016, which is a continuation ofU.S. patent application Ser. No. 13/201,572 filed on Aug. 15, 2011 nowU.S. Pat. No. 8,880,572 issued on Nov. 4, 2014, which is a nationalapplication of PCT application PCT/EP2010/051993 filed on Feb. 17, 2010which claims the benefit of the filing date of U.S. Provisional PatentApplication Ser. No. 61/257,105 filed on Nov. 2, 2009 and Swedenapplication 0900217-1 filed on Feb. 18, 2009, all of which are herebyincorporated by reference.

The present document relates to modulated sub-sampled digital filterbanks, as well as to methods and systems for the design of such filterbanks. In particular, it provides a new design method and apparatus fora near-perfect reconstruction low delay cosine or complex-exponentialmodulated filter bank, optimized for suppression of aliasing emergingfrom modifications of the spectral coefficients or subband signals.Furthermore, a specific design for a 64 channel filter bank using aprototype filter length of 640 coefficients and a system delay of 319samples is given.

The teachings of this document may be applicable to digital equalizers,as outlined e.g. in “An Efficient 20 Band Digital Audio Equalizer” A. J.S. Ferreira, J. M. N. Viera, AES preprint, 98^(th) Convention 1995 Feb.25-28 Paris, N.Y., USA; adaptive filters, as outlined e.g. in AdaptiveFiltering in Subbands with Critical Sampling: Analysis, Experiments, andApplication to Acoustic Echo Cancellation” A. Gilloire, M. Vetterli,IEEE Transactions on Signal Processing, vol. 40, no. 8, August, 1992;multiband companders; and to audio coding systems utilizing highfrequency reconstruction (HFR) methods; or audio coding systemsemploying so-called parametric stereo techniques. In the two latterexamples, a digital filter bank is used for the adaptive adjustment ofthe spectral envelope of the audio signal. An exemplary HFR system isthe Spectral Band Replication (SBR) system outlined e.g. in WO 98/57436,and a parametric stereo system is described e.g. in EP1410687.

Throughout this disclosure including the claims, the expressions“subband signals” or “subband samples” denote the output signal oroutput signals, or output sample or output samples from the analysispart of a digital filter bank or the output from a forward transform,i.e. the transform operating on the time domain data, of a transformbased system. Examples for the output of such forward transforms are thefrequency domain coefficients from a windowed digital Fourier transform(DFT) or the output samples from the analysis stage of a modifieddiscrete cosine transform (MDCT).

Throughout this disclosure including the claims, the expression“aliasing” denotes a non-linear distortion resulting from decimation andinterpolation, possibly in combination with modification (e.g.attenuation or quantization) of the subband samples in a sub-sampleddigital filter bank.

A digital filter bank is a collection of two or more parallel digitalfilters. The analysis filter bank splits the incoming signal into anumber of separate signals named subband signals or spectralcoefficients. The filter bank is critically sampled or maximallydecimated when the total number of subband samples per unit time is thesame as that for the input signal. A so called synthesis filter bankcombines the subband signals into an output signal. A popular type ofcritically sampled filter banks is the cosine modulated filter bank,where the filters are obtained by cosine modulation of a low-passfilter, a so-called prototype filter. The cosine modulated filter bankoffers effective implementations and is often used in natural audiocoding systems. For further details, reference is made to “Introductionto Perceptual Coding” K. Brandenburg, AES, Collected Papers on DigitalAudio Bitrate Reduction, 1996.

A common problem in filter bank design is that any attempt to alter thesubband samples or spectral coefficients, e.g. by applying an equalizinggain curve or by quantizing the samples, typically renders aliasingartifacts in the output signal. Therefore, filter bank designs aredesirable which reduce such artifacts even when the subband samples aresubjected to severe modifications.

A possible approach is the use of oversampled, i.e. not criticallysampled, filter banks. An example of an oversampled filter bank is theclass of complex exponential modulated filter banks, where an imaginarysine modulated part is added to the real part of a cosine modulatedfilter bank. Such a complex exponential modulated filter bank isdescribed in EP1374399 which is incorporated herewith by reference.

One of the properties of the complex exponential modulated filter banksis that they are free from the main alias terms present in the cosinemodulated filter banks. As a result, such filter banks are typicallyless prone to artifacts induced by modifications to the subband samples.Nevertheless, other alias terms remain and sophisticated designtechniques for the prototype filter of such a complex exponentialmodulated filter bank should be applied in order to minimize theimpairments, such as aliasing, emerging from modifications of thesubband signals. Typically, the remaining alias terms are lesssignificant than the main alias terms.

A further property of filter banks is the amount of delay which a signalincurs when passing through such filter banks. In particular for realtime applications, such as audio and video streams, the filter or systemdelay should be low. A possible approach to obtain a filter bank havinga low total system delay, i.e. a low delay or latency of a signalpassing through an analysis filter bank followed by a synthesis filterbank, is the use of short symmetric prototype filters. Typically, theuse of short prototype filters leads to relatively poor frequency bandseparation characteristics and to large frequency overlap areas betweenadjacent subbands. By consequence, short prototype filters usually donot allow for a filter bank design that suppresses the aliasingadequately when modifying the subband samples and other approaches tothe design of low delay filter banks are required.

It is therefore desirable to provide a design method for filter bankswhich combine a certain number of desirable properties. Such propertiesare a high level of insusceptibility to signal impairments, such asaliasing, subject to modifications of the subband signals; a low delayor latency of a signal passing through the analysis and synthesis filterbanks; and a good approximation of the perfect reconstruction property.In other words, it is desirable to provide a design method for filterbanks which generate a low level of errors. Sub-sampled filter bankstypically generate two types of errors, linear distortion from thepass-band term which further can be divided into amplitude and phaseerrors, and non-linear distortion emerging from the aliasing terms. Eventhough a “good approximation” of the PR (perfect reconstruction)property would keep all of these errors on a low level, it may bebeneficial from a perceptual point of view to put a higher emphasis onthe reduction of distortions caused by aliasing.

Furthermore, it is desirable to provide a prototype filter which can beused to design an analysis and/or synthesis filter bank which exhibitssuch properties. It is a further desirable property of a filter bank toexhibit a near constant group delay in order to minimize artifacts dueto phase dispersion of the output signal.

The present document shows that impairments emerging from modificationsof the subband signals can be significantly reduced by employing afilter bank design method, referred to as improved alias termminimization (IATM) method, for optimization of symmetric or asymmetricprototype filters.

The present document teaches that the concept of pseudo QMF (QuadratureMirror Filter) designs, i.e. near perfect reconstruction filter bankdesigns, may be extended to cover low delay filter bank systemsemploying asymmetric prototype filters. As a result near perfectreconstruction filter banks with a low system delay, low susceptibilityto aliasing and/or low level of pass band errors including phasedispersion can be designed. Depending on the particular needs, theemphasis put on either one of the filter bank properties may be changed.Hence, the filter bank design method according to the present documentalleviates the current limitations of PR filter banks used in anequalization system or other system modifying the spectral coefficients.

The design of a low delay complex-exponential modulated filter bankaccording to the present document may comprise the steps:

-   -   a design of an asymmetric low-pass prototype filter with a        cutoff frequency of π/2M, optimized for desired aliasing and        pass band error rejections, further optimized for a system delay        D; M being the number of channels of the filter bank; and    -   a construction of an M-channel filter bank by        complex-exponential modulation of the optimized prototype        filter.

Furthermore, the operation of such a low delay complex-exponentialmodulated filter bank according to the present document may comprise thesteps:

-   -   a filtering of a real-valued time domain signal through the        analysis part of the filter bank;    -   a modification of the complex-valued subband signals, e.g.        according to a desired, possibly time-varying, equalizer        setting;    -   a filtering of the modified complex-valued subband samples        through the synthesis part of the filter bank; and    -   a computation of the real part of the complex-valued time domain        output signal obtained from the synthesis part of the filter        bank.

In addition to presenting a new filter design method, the presentdocument describes a specific design of a 64 channel filter bank havinga prototype filter length of 640 coefficients and a system delay of 319samples.

The teachings of the present document, notably the proposed filter bankand the filter banks designed according to the proposed design methodmay be used in various applications. Such applications are theimprovement of various types of digital equalizers, adaptive filters,multiband companders and adaptive envelope adjusting filter banks usedin HFR or parametric stereo systems.

According to a first aspect, a method for determining N coefficients ofan asymmetric prototype filter p₀ for usage for building an M-channel,low delay, subsampled analysis/synthesis filter bank is described. Theanalysis/synthesis filter bank may comprise M analysis filters h_(k) andM synthesis filters f_(k), wherein k takes on values from 0 to M−1 andwherein typically M is greater than 1. The analysis/synthesis filterbank has an overall transfer function, which is typically associatedwith the coefficients of the analysis and synthesis filters, as well aswith the decimation and/or interpolation operations.

The method comprises the step of choosing a target transfer function ofthe filter bank comprising a target delay D. Typically a target delay Dwhich is smaller or equal to N is selected. The method comprises furtherthe step of determining a composite objective function e_(tot)comprising a pass band error term e_(t) and an aliasing error terme_(a). The pass band error term is associated with the deviation betweenthe transfer function of the filter bank and the target transferfunction, and the aliasing error term e_(a) is associated with errorsincurred due to the subsampling, i.e. decimation and/or interpolation ofthe filter bank. In a further method step, the N coefficients of theasymmetric prototype filter p₀ are determined that reduce the compositeobjective function e_(tot).

Typically, the step of determining the objective error function e_(tot)and the step of determining the N coefficients of the asymmetricprototype filter p₀ are repeated iteratively, until a minimum of theobjective error function e_(tot) is reached. In other words, theobjective function e_(tot) is determined on the basis of a given set ofcoefficients of the prototype filter, and an updated set of coefficientsof the prototype filter is generated by reducing the objective errorfunction. This process is repeated until no further reductions of theobjective function may be achieved through the modification of theprototype filter coefficients. This means that the step of determiningthe objective error function e_(tot) may comprise determining a valuefor the composite objective function e_(tot) for given coefficients ofthe prototype filter p₀ and the step of determining the N coefficientsof the asymmetric prototype filter p₀ may comprise determining updatedcoefficients of the prototype filter p₀ based on the gradient of thecomposite objective function e_(tot) associated with the coefficients ofthe prototype filter p₀.

According to a further aspect, the composite objective error functione_(tot) is given by:

e _(tot)(α)=αe _(t)+(1−α)e _(a),

with e_(t) being the pass band error term, e_(a) being the aliasingerror term and α being a weighting constant taking on values between 0and 1. The pass band error term e_(t) may be determined by accumulatingthe squared deviation between the transfer function of the filter bankand the target transfer function for a plurality of frequencies. Inparticular, the pass band error term e_(t) may be calculated as

${e_{t} = {\frac{1}{2\pi}{\int_{- \pi}^{\pi}{{{{\frac{1}{2}\left( {{A_{0}\left( e^{j\; \omega} \right)} + {A_{0}^{*}\left( e^{{- j}\; \omega} \right)}} \right)} - {{P(\omega)}e^{{- j}\; \omega \; D}}}}^{2}d\; \omega}}}},$

with P(ω)e^(−jωD) being the target transfer function, and

${{A_{0}(z)} = {\sum\limits_{k = 0}^{M - 1}\; {{H_{k}(z)}{F_{k}(z)}}}},$

wherein H_(k)(z) and F_(k)(z) are the z-transforms of the analysis andsynthesis filters h_(k)(n) and f_(k)(n), respectively.

The aliasing error term e_(a) is determined by accumulating the squaredmagnitude of alias gain terms for a plurality of frequencies. Inparticular, the aliasing error term e_(a) is calculated as

${e_{a} = {\frac{1}{2\pi}{\sum\limits_{l = 1}^{M - 1}\; {\int_{- \pi}^{\pi}{{{{\overset{\sim}{A}}_{l}\left( e^{j\; \omega} \right)}}^{2}d\; \omega}}}}},$

with

${{{\overset{\sim}{A}}_{l}(z)} = {\frac{1}{2}\left( {{A_{l}(z)} + {A_{M - l}*(z)}} \right)}},$

l=1 . . . M−1, for z=e^(jω) and with

${A_{l}(z)} = {\sum\limits_{k = 0}^{M - 1}\; {{H_{k}\left( {zW}^{l} \right)}{F_{k}(z)}}}$

being the l^(th) alias gain term evaluated on the unit circle withW=e^(−i2π/M), wherein H_(k)(z) and F_(k)(z) are the z-transforms of theanalysis and synthesis filters h_(k)(n) and f_(k)(n), respectively. Thenotation A_(l)*(z) is the z-transform of the complex-conjugated sequencea_(l)(n).

According to a further aspect, the step of determining a value for thecomposite objective function e_(tot) may comprise generating theanalysis filters h_(k)(n) and the synthesis filters f_(k)(n) of theanalysis/synthesis filter bank based on the prototype filter p₀(n) usingcosine modulation, sine modulation and/or complex-exponentialmodulation. In particular, the analysis and synthesis filters may bedetermined using cosine modulation as

${{h_{k}(n)} = {\sqrt{2}{p_{0}(n)}\cos \left\{ {\frac{\pi}{M}\left( {k + \frac{1}{2}} \right)\left( {n - {\frac{D}{2} \mp \frac{M}{2}}} \right)} \right\}}},$

with n=0 . . . N−1, for the M analysis filters of the analysis filterbank and;

${{f_{k}(n)} = {\sqrt{2}{p_{0}(n)}\cos \left\{ {\frac{\pi}{M}\left( {k + \frac{1}{2}} \right)\left( {n - {\frac{D}{2} \pm \frac{M}{2}}} \right)} \right\}}},$

with n=0 . . . N−1, for the M synthesis filters of the synthesis filterbank.

The analysis and synthesis filters may also be determined using complexexponential modulation as

${{h_{k}(n)} = {{p_{0}(n)}\exp \left\{ {i\frac{\pi}{M}\left( {k + \frac{1}{2}} \right)\left( {n - \frac{D}{2} - A} \right)} \right\}}},$

with n=0 . . . N−1, and A being an arbitrary constant, for the Manalysis filters of the analysis filter bank and;

${{f_{k}(n)} = {{p_{0}(n)}\exp \left\{ {i\frac{\pi}{M}\left( {k + \frac{1}{2}} \right)\left( {n - \frac{D}{2} + A} \right)} \right\}}},$

with n=0 . . . N−1, for the M synthesis filters of the synthesis filterbank.

According to another aspect, the step of determining a value for thecomposite objective function e_(tot) may comprise setting at least oneof the filter bank channels to zero. This may be achieved by applyingzero gain to at least one analysis and/or synthesis filter, i.e. thefilter coefficients h_(k) and/or f_(k) may be set to zero for at leastone channel k. In an example a predetermined number of the low frequencychannels and/or a predetermined number of the high frequency channelsmay be set to zero. In other words, the low frequency filter bankchannels k=0 up to C_(low); with C_(low) greater than zero may be set tozero. Alternatively or in addition, the high frequency filter bankchannels k=C_(high) up to M−1, with C_(high) smaller than M−1 may be setto zero.

In such a case, the step of determining a value for the compositeobjective function e_(tot) may comprise generating the analysis andsynthesis filters for the aliasing terms C_(low) and M−C_(low) and/orC_(high) and M−C_(high) using complex exponential modulation. It mayfurther comprise generating the analysis and synthesis filters for theremaining aliasing terms using cosine modulation. In other words, theoptimization procedure may be done in a partially complex-valued manner,where the aliasing error terms which are free from main aliasing arecalculated using real valued filters, e.g. filters generated usingcosine modulation, and where the aliasing error terms which carry themain aliasing in a real-valued system are modified for complex-valuedprocessing, e.g. using complex exponential modulated filters.

According to a further aspect, the analysis filter bank may generate Msubband signals from an input signal using the M analysis filters h_(k).These M subband signals may be decimated by a factor M, yieldingdecimated subband signals. Typically, the decimated subband signals aremodified, e.g. for equalization purposes or for compression purposes.The possibly modified decimated subband signals may be upsampled by afactor M and the synthesis filter bank may generate an output signalfrom the upsampled decimated subband signals using the M synthesisfilters f_(k).

According to another aspect, an asymmetric prototype filter p₀(n)comprising coefficients derivable from the coefficients of Table 1 byany of the operations of rounding, truncating, scaling, subsampling oroversampling is described. Any combination of the operations rounding,truncating, scaling, subsampling or oversampling are possible.

The rounding operation of the filter coefficients may comprise any oneof the following: rounding to more than 20 significant digits, more than19 significant digits, more than 18 significant digits, more than 17significant digits, more than 16 significant digits, more than 15significant digits, more than 14 significant digits, more than 13significant digits, more than 12 significant digits, more than 11significant digits, more than 10 significant digits, more than 9significant digits, more than 8 significant digits, more than 7significant digits, more than 6 significant digits, more than 5significant digits, more than 4 significant digits, more than 3significant digits, more than 2 significant digits, more than 1significant digits, 1 significant digit.

The truncating operation of the filter coefficients may comprise any oneof the following: truncating to more than 20 significant digits, morethan 19 significant digits, more than 18 significant digits, more than17 significant digits, more than 16 significant digits, more than 15significant digits, more than 14 significant digits, more than 13significant digits, more than 12 significant digits, more than 11significant digits, more than 10 significant digits, more than 9significant digits, more than 8 significant digits, more than 7significant digits, more than 6 significant digits, more than 5significant digits, more than 4 significant digits, more than 3significant digits, more than 2 significant digits, more than 1significant digits, 1 significant digit.

The scaling operation of the filter coefficient may comprise up-scalingor down-scaling of the filter coefficients. In particular, it maycomprise up- and/or down-scaling scaling by the number M of filter bankchannels. Such up- and/or down-scaling may be used to maintain the inputenergy of an input signal to the filter bank at the output of the filterbank.

The subsampling operation may comprise subsampling by a factor less orequal to 2, less or equal to 3, less or equal to 4, less or equal to 8,less or equal to 16, less or equal to 32, less or equal to 64, less orequal to 128, less or equal to 256. The subsampling operation mayfurther comprise the determination of the subsampled filter coefficientsas the mean value of adjacent filter coefficient. In particular, themean value of R adjacent filter coefficients may be determined as thesubsampled filter coefficient, wherein R is the subsampling factor.

The oversampling operation may comprise oversampling by a factor less orequal to 2, less or equal to 3, less or equal to 4, less or equal to 5,less or equal to 6, less or equal to 7, less or equal to 8, less orequal to 9, less or equal to 10. The oversampling operation may furthercomprise the determination of the oversampled filter coefficients as theinterpolation between two adjacent filter coefficients.

According to a further aspect, a filter bank comprising M filters isdescribed. The filters of this filter bank are based on the asymmetricprototype filters described in the present document and/or theasymmetric prototype filters determined via the methods outlined in thepresent document. In particular, the M filters may be modulated versionof the prototype filter and the modulation may be a cosine modulation,sine modulation and/or complex-exponential modulation.

According to another aspect, a method for generating decimated subbandsignals with low sensitivity to aliasing emerging from modifications ofsaid subband signals is described. The method comprises the steps ofdetermining analysis filters of an analysis/synthesis filter bankaccording to methods outlined in the present document; filtering areal-valued time domain signal through said analysis filters, to obtaincomplex-valued subband signals; and decimating said subband signals.Furthermore, a method for generating a real valued output signal from aplurality of complex-valued subband signals with low sensitivity toaliasing emerging from modifications of said subband signals isdescribed. The method comprises the steps of determining synthesisfilters of an analysis/synthesis filter bank according to the methodsoutlined in the present document; interpolating said plurality ofcomplex-valued subband signals; filtering said plurality of interpolatedsubband signals through said synthesis filters; generating acomplex-valued time domain output signal as the sum of the signalsobtained from said filtering; and taking the real part of thecomplex-valued time domain output signal as the real-valued outputsignal.

According to another aspect, a system operative of generating subbandsignals from a time domain input signal are described, wherein thesystem comprises an analysis filter bank which has been generatedaccording to methods outlined in the present document and/or which isbased on the prototype filters outlined in the present document.

It should be noted that the aspects of the methods and systems includingits preferred embodiments as outlined in the present patent applicationmay be used stand-alone or in combination with the other aspects of themethods and systems disclosed in this document. Furthermore, all aspectsof the methods and systems outlined in the present patent applicationmay be arbitrarily combined. In particular, the features of the claimsmay be combined with one another in an arbitrary manner.

The present invention will now be described by way of illustrativeexamples, not limiting the scope, with reference to the accompanyingdrawings, in which:

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 illustrates the analysis and synthesis sections of a digitalfilter bank;

FIG. 2 (a)-(c) shows the stylized frequency responses for a set offilters to illustrate the adverse effect when modifying the subbandsamples in a cosine modulated, i.e. real-valued, filter bank;

FIG. 3 shows a flow diagram of an example of the optimization procedure;

FIG. 4(a)-(b) shows a time domain plot and the frequency response of anoptimized prototype filter for a low delay modulated filter bank having64 channels and a total system delay of 319 samples; and

FIG. 5 (a)-(b) illustrates an example of the analysis and synthesisparts of a low delay complex-exponential modulated filter bank system.

It should be understood that the present teachings are applicable to arange of implementations that incorporate digital filter banks otherthan those explicitly mentioned in this patent. In particular, thepresent teachings may be applicable to other methods for designing afilter bank on the basis of a prototype filter.

In the following, the overall transfer function of an analysis/synthesisfilter bank is determined. In other words, the mathematicalrepresentation of a signal passing through such a filter bank system isdescribed. A digital filter bank is a collection of M, M being two ormore, parallel digital filters that share a common input or a commonoutput. For details on such filter banks, reference is made to“Multirate Systems and Filter Banks” P. P. Vaidyanathan Prentice Hall:Englewood Cliffs, N J, 1993. When sharing a common input the filter bankmay be called an analysis bank. The analysis bank splits the incomingsignal into M separate signals called subband signals. The analysisfilters are denoted H_(k)(z), where k=0, . . . , M−1. The filter bank iscritically sampled or maximally decimated when the subband signals aredecimated by a factor M. Thus, the total number of subband samples pertime unit across all subbands is the same as the number of samples pertime unit for the input signal. The synthesis bank combines thesesubband signals into a common output signal. The synthesis filters aredenoted F_(k)(z), for k=0, . . . , M−1.

A maximally decimated filter bank with M channels or subbands is shownin FIG. 1. The analysis part 101 produces from the input signal X(z) thesubband signals V_(k) (z), which constitute the signals to betransmitted, stored or modified. The synthesis part 102 recombines thesignals V_(k)(z) to the output signal {circumflex over (X)}(z).

The recombination of V_(k) (z) to obtain the approximation {circumflexover (X)}(z) of the original signal X(z) is subject to several potentialerrors. The errors may be due to an approximation of the perfectreconstruction property, and includes non-linear impairments due toaliasing, which may be caused by the decimation and interpolation of thesubbands. Other errors resulting from approximations of the perfectreconstruction property may be due to linear impairments such as phaseand amplitude distortion.

Following the notations of FIG. 1, the outputs of the analysis filtersH_(k)(z) 103 are

X _(k)(z)=H _(k)(z)X(z),  (1)

where k=0, . . . , M−1. The decimators 104, also referred to asdown-sampling units, give the outputs

$\begin{matrix}{{{V_{k}(z)} = {{\frac{1}{M}{\sum\limits_{l = 0}^{M - 1}{X_{k}\left( {z^{1/M}W^{l}} \right)}}} = {\frac{1}{M}{\sum\limits_{l = 0}^{M - 1}{{H_{k}\left( {z^{1/M}W^{l}} \right)}{X\left( {z^{1/M}W^{l}} \right)}}}}}},} & (2)\end{matrix}$

where W=e^(−i2π/M). The outputs of the interpolators 105, also referredto as up-sampling units, are given by

$\begin{matrix}{{{U_{k}(z)} = {{V_{k}\left( z^{M} \right)} = {\frac{1}{M}{\sum\limits_{l = 0}^{M - 1}{{H_{k}\left( {zW}^{l} \right)}{X\left( {zW}^{l} \right)}}}}}},} & (3)\end{matrix}$

and the sum of the signals obtained from the synthesis filters 106 canbe written as

$\begin{matrix}\begin{matrix}{{\hat{X}(z)} = {{\sum\limits_{k = 0}^{M - 1}{{F_{k}(z)}{U_{k}(z)}}} = {{\sum\limits_{k = 0}^{M - 1}{{F_{k}(z)}\frac{1}{M}{\sum\limits_{l = 0}^{M - 1}{{H_{k}\left( {zW}^{l} \right)}{X\left( {zW}^{l} \right)}}}}} =}}} \\{= {\frac{1}{M}{\sum\limits_{l = 0}^{M - 1}{{X\left( {zW}^{l} \right)}{\sum\limits_{k = 0}^{M - 1}{{H_{k}\left( {zW}^{l} \right)}{F_{k}(z)}}}}}}} \\{= {\frac{1}{M}{\sum\limits_{l = 0}^{M - 1}{{X\left( {zW}^{l} \right)}{A_{l}(z)}}}}}\end{matrix} & (4) \\{where} & \; \\{{A_{l}(z)} = {\sum\limits_{k = 0}^{M - 1}{{H_{k}\left( {zW}^{l} \right)}{F_{k}(z)}}}} & (5)\end{matrix}$

is the gain for the l^(th) alias term X(zW^(l)). Eq.(4) shows that{circumflex over (X)}(z) is a sum of M components consisting of theproduct of the modulated input signal X(zW^(l)) and the correspondingalias gain term A_(l)(z). Eq.(4) can be rewritten as

$\begin{matrix}{{\hat{X}(z)} = {\frac{1}{M}{\left\{ {{{X(z)}{A_{0}(z)}} + {\sum\limits_{l = 1}^{M - 1}{{X\left( {zW}^{l} \right)}{A_{l}(z)}}}} \right\}.}}} & (6)\end{matrix}$

The last sum on the right hand side (RHS) constitutes the sum of allnon-wanted alias terms. Canceling all aliasing, that is forcing this sumto zero by means of proper choices of H_(k)(z) and F_(k)(z), gives

$\begin{matrix}{{{\hat{X}(z)} = {{\frac{1}{M}{X(z)}{A_{0}(z)}} = {{\frac{1}{M}{X(z)}{\sum\limits_{k = 0}^{M - 1}{{H_{k}(z)}{F_{k}(z)}}}} = {{X(z)}{T(z)}}}}},} & (7) \\{where} & \; \\{{T(z)} = {\frac{1}{M}{\sum\limits_{k = 0}^{M - 1}{{H_{k}(z)}{F_{k}(z)}}}}} & (8)\end{matrix}$

is the overall transfer function or distortion function. Eq.(8) showsthat, depending on H_(k)(z) and F_(k)(z), T(z) could be free from bothphase distortion and amplitude distortion. The overall transfer functionwould in this case simply be a delay of D samples with a constant scalefactor c, i.e.

T(z)=cz ^(−D),  (9)

which substituted into Eq.(7) gives

{circumflex over (X)}(z)=cz ^(−D) X(z).  (10)

The type of filters that satisfy Eq.(10) are said to have the perfectreconstruction (PR) property. If Eq.(10) is not perfectly satisfied,albeit satisfied approximately, the filters are of the class ofapproximate perfect reconstruction filters.

In the following, a method for designing analysis and synthesis filterbanks from a prototype filter is described. The resulting filter banksare referred to as cosine modulated filter banks. In the traditionaltheory for cosine modulated filter banks, the analysis filters h_(k)(n)and synthesis filters f_(k)(n) are cosine modulated versions of asymmetric low-pass prototype filter p₀(n), i.e.

$\begin{matrix}{{{h_{k}(n)} = {\sqrt{2}{p_{0}(n)}\cos \left\{ {\frac{\pi}{M}\left( {k + \frac{1}{2}} \right)\left( {n - {\frac{N}{2} \mp \frac{M}{2}}} \right)} \right\}}},{0 \leq n \leq N},{0 \leq k < M}} & (11) \\{{{f_{k}(n)} = {\sqrt{2}{p_{0}(n)}\cos \left\{ {\frac{\pi}{M}\left( {k + \frac{1}{2}} \right)\left( {n - {\frac{N}{2} \pm \frac{M}{2}}} \right)} \right\}}},{0 \leq n \leq N},{0 \leq k < M}} & (12)\end{matrix}$

respectively, where M is the number of channels of the filter bank and Nis the prototype filter order.

The above cosine modulated analysis filter bank produces real-valuedsubband samples for real-valued input signals. The subband samples aredown sampled by a factor M, making the system critically sampled.Depending on the choice of the prototype filter, the filter bank mayconstitute an approximate perfect reconstruction system, i.e. a socalled pseudo QMF bank described e.g. in U.S. Pat. No. 5,436,940, or aperfect reconstruction (PR) system. An example of a PR system is themodulated lapped transform (MLT) described in further detail in “LappedTransforms for Efficient Transform/Subband Coding” H. S. Malvar, IEEETrans ASSP, vol. 38, no. 6, 1990. The overall delay, or system delay,for a traditional cosine modulated filter bank is N.

In order to obtain filter bank systems having lower system delays, thepresent document teaches to replace the symmetric prototype filters usedin conventional filter banks by asymmetric prototype filters. In theprior art, the design of asymmetric prototype filters has beenrestricted to systems having the perfect reconstruction (PR) property.Such a perfect reconstruction system using asymmetric prototype filtersis described in EP0874458. However, the perfect reconstructionconstraint imposes limitations to a filter bank used in e.g. anequalization system, due to the restricted degrees of freedom whendesigning the prototype filter. It should be noted that symmetricprototype filters have a linear phase, i.e. they have a constant groupdelay across all frequencies. On the other hand, asymmetric filterstypically have a non-linear phase, i.e. they have a group delay whichmay change with frequency.

In filter bank systems using asymmetric prototype filters, the analysisand synthesis filters may be written as

$\begin{matrix}{{{h_{k}(n)} = {\sqrt{2}{{\hat{h}}_{0}(n)}\cos \left\{ {\frac{\pi}{M}\left( {k + \frac{1}{2}} \right)\left( {n - {\frac{D}{2} \mp \frac{M}{2}}} \right)} \right\}}},{0 \leq n < N_{h}},{0 \leq k < M}} & (13) \\{{{f_{k}(n)} = {\sqrt{2}{{\hat{f}}_{0}(n)}\cos \left\{ {\frac{\pi}{M}\left( {k + \frac{1}{2}} \right)\left( {n - {\frac{D}{2} \pm \frac{M}{2}}} \right)} \right\}}},{0 \leq n < N_{f}},{0 \leq k < M}} & (14)\end{matrix}$

respectively, where ĥ₀ (n) and {circumflex over (f)}₀(n) are theanalysis and synthesis prototype filters of lengths N_(h) and N_(f),respectively, and D is the total delay of the filter bank system.Without limiting the scope, the modulated filter banks studied in thefollowing are systems where the analysis and synthesis prototypes areidentical, i.e.

{circumflex over (f)} ₀(n)=ĥ ₀(n)=p ₀(n), 0≦n<N _(h) =N _(f) =N  (15)

where N is the length of the prototype filter p₀(n).

It should be noted, however, when using the filter design schemesoutlined in the present document, that filter banks using differentanalysis and synthesis prototype filters may be determined.

One inherent property of the cosine modulation is that every filter hastwo pass bands; one in the positive frequency range and onecorresponding pass band in the negative frequency range. It can beverified that the so-called main, or significant, alias terms emergefrom overlap in frequency between either the filters negative pass bandswith frequency modulated versions of the positive pass bands, orreciprocally, the filters positive pass bands with frequency modulatedversions of the negative pass bands. The last terms in Eq.(13) and (14),i.e. the terms

${\frac{\pi}{2}\left( {k + \frac{1}{2}} \right)},$

are selected so as to provide cancellation of the main alias terms incosine modulated filter banks. Nevertheless, when modifying the subbandsamples, the cancellation of the main alias terms is impaired, therebyresulting in a strong impact of aliasing from the main alias terms. Itis therefore desirable to remove these main alias terms from the subbandsamples altogether.

The removal of the main alias terms may be achieved by the use ofso-called Complex-Exponential Modulated Filter Banks which are based onan extension of the cosine modulation to complex-exponential modulation.Such extension yields the analysis filters h_(k)(n) as

$\begin{matrix}{{{h_{k}(n)} = {{p_{0}(n)}\exp \left\{ {i\frac{\pi}{M}\left( {k + \frac{1}{2}} \right)\left( {n - {\frac{D}{2} \mp \frac{M}{2}}} \right)} \right\}}},{0 \leq n < N},{0 \leq k < M}} & (16)\end{matrix}$

using the same notation as before. This can be viewed as adding animaginary part to the real-valued filter bank, where the imaginary partconsists of sine modulated versions of the same prototype filter.Considering a real-valued input signal, the output from the filter bankcan be interpreted as a set of subband signals, where the real and theimaginary parts are Hilbert transforms of each other. The resultingsubbands are thus the analytic signals of the real-valued outputobtained from the cosine modulated filter bank. Hence, due to thecomplex-valued representation, the subband signals are over-sampled by afactor two.

The synthesis filters are extended in the same way to

$\begin{matrix}{{{f_{k}(n)} = {{p_{0}(n)}\exp \left\{ {i\frac{\pi}{M}\left( {k + \frac{1}{2}} \right)\left( {n - {\frac{D}{2} \pm \frac{M}{2}}} \right)} \right\}}},{0 \leq n < N},{0 \leq k < {M.}}} & (17)\end{matrix}$

Eq.(16) and (17) imply that the output from the synthesis bank iscomplex-valued. Using matrix notation, where C_(a) is a matrix with thecosine modulated analysis filters from Eq.(13), and S_(a) is a matrixwith the sine modulation of the same argument, the filters of Eq.(16)are obtained as C_(a)+j S_(a). In these matrices, k is the row index andn is the column index. Analogously, the matrix C_(s) has synthesisfilters from Eq.(14), and S_(s) is the corresponding sine modulatedversion. Eq.(17) can thus be written C_(s)+j S_(s), where k is thecolumn index and n is the row index. Denoting the input signal x, theoutput signal y is found from

y=(C _(s) +jS _(s))(C _(a) +jS _(a))x=(C _(s) C _(a) −S _(s) S_(a))x+j(C _(s) S _(a) +S _(s) C _(a))x  (18)

As seen from Eq.(18), the real part comprises two terms; the output fromthe cosine modulated filter bank and an output from a sine modulatedfilter bank. It is easily verified that if a cosine modulated filterbank has the PR property, then its sine modulated version, with a changeof sign, constitutes a PR system as well. Thus, by taking the real partof the output, the complex-exponential modulated system offers the samereconstruction accuracy as the corresponding cosine modulated version.In other words, when using a real-valued input signal, the output signalof the complex-exponential modulated system may be determined by takingthe real part of the output signal.

The complex-exponential modulated system may be extended to handle alsocomplex-valued input signals. By extending the number of channels to 2M,i.e. by adding the filters for negative frequencies, and by keeping theimaginary part of the output signal, a pseudo QMF or a PR system forcomplex-valued signals is obtained.

It should be noted that the complex-exponential modulated filter bankhas one pass band only for every filter in the positive frequency range.Hence, it is free from the main alias terms. The absence of main aliasterms makes the aliasing cancellation constraint from the cosine (orsine) modulated filter bank obsolete in the complex-exponentialmodulated version. The analysis and synthesis filters can thus be givenas

$\begin{matrix}{{{h_{k}(n)} = {{p_{0}(n)}\exp \left\{ {i\frac{\pi}{M}\left( {k + \frac{1}{2}} \right)\left( {n - \frac{D}{2} - A} \right)} \right\}}},{0 \leq n < N},{0 \leq k < M}} & (19) \\{and} & \; \\{{{f_{k}(n)} = {{p_{0}(n)}\exp \left\{ {i\frac{\pi}{M}\left( {k + \frac{1}{2}} \right)\left( {n - \frac{D}{2} + A} \right)} \right\}}},{0 \leq n < N},{0 \leq k < M}} & (20)\end{matrix}$

where A is an arbitrary (possibly zero) constant, and as before, M isthe number of channels, N is the prototype filter length, and D is thesystem delay. By using different values of A, more efficientimplementations of the analysis and synthesis filter banks, i.e.implementations with reduced complexity, can be obtained.

Before presenting a method for optimization of prototype filters, thedisclosed approaches to the design of filter banks are summarized. Basedon symmetric or asymmetric prototype filters, filter banks may begenerated e.g. by modulating the prototype filters using a cosinefunction or a complex-exponential function. The prototype filters forthe analysis and synthesis filter banks may either be different oridentical. When using complex-exponential modulation, the main aliasterms of the filter banks are obsolete and may be removed, therebyreducing the aliasing sensitivity to modifications of the subbandsignals of the resulting filter banks. Furthermore, when usingasymmetric prototype filters the overall system delay of the filterbanks may be reduced. It has also been shown that when usingcomplex-exponential modulated filter banks, the output signal from areal valued input signal may be determined by taking the real part ofthe complex output signal of the filter bank.

In the following a method for optimization of the prototype filters isdescribed in detail. Depending on the needs, the optimization may bedirected at increasing the degree of perfect reconstruction, i.e. atreducing the combination of aliasing and amplitude distortion, atreducing the sensitivity to aliasing, at reducing the system delay, atreducing phase distortion, and/or at reducing amplitude distortion. Inorder to optimize the prototype filter p₀(n) first expressions for thealias gain terms are determined. In the following, the alias gain termsfor a complex exponential modulated filter bank are derived. However, itshould be noted that the alias gain terms outlined are also valid for acosine modulated (real valued) filter bank.

Referring to Eq.(4), the z-transform of the real part of the outputsignal {circumflex over (x)}(n) is

$\begin{matrix}{{Z\left\{ {{Re}\left( {\hat{x}(n)} \right)} \right\}} = {{{\hat{X}}_{R}(z)} = {\frac{{\hat{X}(z)} + {\hat{X}*(z)}}{2}.}}} & (21)\end{matrix}$

The notation {circumflex over (X)}*(z) is the z-transform of thecomplex-conjugated sequence {circumflex over (x)}(n). From Eq.(4), itfollows that the transform of the real part of the output signal is

$\begin{matrix}{{{{\hat{X}}_{R}(z)} = {\frac{1}{M}{\sum\limits_{l = 0}^{M - 1}{\frac{1}{2}\left( {{{X\left( {zW}^{l} \right)}{A_{l}(z)}} + {{X\left( {zW}^{- l} \right)}A_{l}*(z)}} \right)}}}},} & (22)\end{matrix}$

where it was used that the input signal x(n) is real-valued, i.e.X*(zW^(l))=X (zW^(−l)). Eq.(22) may after rearrangement be written

$\begin{matrix}\begin{matrix}{{{\hat{X}}_{R}(z)} = {{\frac{1}{M}\begin{pmatrix}{{X(z)\frac{1}{2}\left( {{A_{0}(z)} + {A_{0}*(z)}} \right)} +} \\{\sum\limits_{l = 1}^{M - 1}{\frac{1}{2}\left( {{{X\left( {zW}^{l} \right)}{A_{l}(z)}} + {{X\left( {zW}^{M - l} \right)}A_{l}*(z)}} \right)}}\end{pmatrix}} =}} \\{= {{\frac{1}{M}\begin{pmatrix}{{{X(z)}\frac{1}{2}\left( {{A_{0}(z)} + {A_{0}*(z)}} \right)} +} \\{\sum\limits_{l = 1}^{M - 1}{{X\left( {zW}^{l} \right)}\frac{1}{2}\left( {{A_{l}(z)} + {A_{M - l}*(z)}} \right)}}\end{pmatrix}} =}} \\{= {\frac{1}{M}\left( {{{X(z)}{{\overset{\sim}{A}}_{0}(z)}} + {\sum\limits_{l = 1}^{M - 1}{{X\left( {zW}^{l} \right)}{{\overset{\sim}{A}}_{l}(z)}}}} \right)}}\end{matrix} & (23) \\{where} & \; \\{{{{\overset{\sim}{A}}_{l}(z)} = {\frac{1}{2}\left( {{A_{l}(z)} + {A_{M - 1}*(z)}} \right)}},{0 \leq l < M}} & (24)\end{matrix}$

are the alias gain terms used in the optimization. It can be observedfrom Eq.(24) that

$\begin{matrix}{{{\overset{\sim}{A}}_{M - 1}(z)} = {{\frac{1}{2}\left( {{A_{M - l}(z)} + {A_{l}*(z)}} \right)} = {{\overset{\sim}{A}}_{l}*{(z).}}}} & (25)\end{matrix}$

Specifically, for real-valued systems

A _(M-l)*(z)=A _(l)(z)  (26)

which simplifies Eq.(24) into

Ã _(l)(z)=A _(l)(z), 0≦l<M.  (27)

By inspecting Eq.(23), and recalling the transform of Eq.(21), it can beseen that the real part of a₀(n) must be a Dirac pulse for a PR system,i.e. Ã₀(z) is on the form Ã₀(z)=c z^(−D). Moreover, the real part ofa_(M/2)(n) must be zero, i.e. Ã_(M/2)(z) must be zero, and the aliasgains, for l≠0, M/2 must satisfy

A _(M-l)(z)=−A _(l)*(z),  (28)

which for a real-valued system, with Eq.(26) in mind, means that alla_(l)(n), l=1 . . . M−1 must be zero. In pseudo QMF systems, Eq.(28)holds true only approximately. Moreover, the real part of a₀(n) is notexactly a Dirac-pulse, nor is the real part of a_(M/2)(n) exactly zero.

Before going into further details on the optimization of the prototypefilters, the impact of modifications of the subband samples on aliasingis investigated. As already mentioned above, changing the gains of thechannels in a cosine modulated filter bank, i.e. using theanalysis/synthesis system as an equalizer, renders severe distortion dueto the main alias terms. In theory, the main alias terms cancel eachother out in a pair wise fashion. However, this theory of main aliasterm cancellation breaks, when different gains are applied to differentsubband channels. Hence, the aliasing in the output signal may besubstantial. To show this, consider a filter bank where channel p andhigher channels are set to zero gain, i.e.

$\begin{matrix}{{{v_{k}^{\prime}(n)} = {g_{k}{v_{k}(n)}}},\left\{ \begin{matrix}{{g_{k} = 1},} & {0 \leq k < p} \\{{g_{k} = 0},} & {p \leq k < {M - 1}}\end{matrix} \right.} & (29)\end{matrix}$

The stylized frequency responses of the analysis and synthesis filtersof interest are shown in FIG. 2. FIG. 2(a) shows the synthesis channelfilters F_(p-1)(z) and F_(p)(z), highlighted by reference signs 201 and202, respectively. As already indicated above, the cosine modulation foreach channel results in one positive frequency filter and one negativefrequency filter. In other words, the positive frequency filters 201 and202 have corresponding negative frequency filters 203 and 204,respectively.

The p^(th) modulation of the analysis filter H_(p-1)(z), i.e.H_(p-1)(zW^(P)) indicated by reference signs 211 and 213, is depicted inFIG. 2(b) together with the synthesis filter F_(p-1)(z), indicated byreference signs 201 and 203. In this Figure, reference sign 211indicates the modulated version of the originally positive frequencyfilter H_(p-1)(z) and reference sign 213 indicates the modulated versionof the originally negative frequency filter H_(p-1)(z). Due to themodulation of order p, the negative frequency filter 213 is moved to thepositive frequency area and therefore overlaps with the positivesynthesis filter 201. The shaded overlap 220 of the filters illustratesthe energy of a main alias term.

In FIG. 2(c) the p^(th) modulation of H_(p)(z),i.e. H_(p)(zW^(P))indicated by reference signs 212 and 214, is shown together with thecorresponding synthesis filter F_(p)(z), reference signs 202 and 204.Again the negative frequency filter 214 is moved into the positivefrequency area due to the modulation of order p. The shaded area 221again pictorially shows the energy of a main alias term and wouldun-cancelled typically result in significant aliasing. To cancel thealiasing, the term should be the polarity reversed copy of the aliasingobtained from the intersection of filters H_(p-1)(zW^(P)), 213, andF_(p-1)(z), 201, of FIG. 2(b), i.e. the polarity reversed copy of theshaded area 220. In a cosine modulated filter bank, where the gains areunchanged, these main alias terms will usually cancel each othercompletely. However, in this example, the gain of the analysis (orsynthesis) filter p is zero, so the aliasing induced by filters p−1 willremain un-cancelled in the output signal. An equally strong aliasingresidue will also emerge in the negative frequency range.

When using complex-exponential modulated filter banks, thecomplex-valued modulation results in positive frequency filters only.Consequently, the main alias terms are gone, i.e. there is nosignificant overlap between the modulated analysis filters H_(p)(zW^(P))and their corresponding synthesis filters F_(p)(z) and aliasing can bereduced significantly when using such filter bank systems as equalizers.The resulting aliasing is dependent only on the degree of suppression ofthe remaining alias terms.

Hence, even when using complex-exponential modulated filter banks, it iscrucial to design a prototype filter for maximum suppression of thealias gains terms, although the main alias terms have been removed forsuch filter banks. Even though the remaining alias terms are lesssignificant than the main alias terms, they may still generate aliasingwhich causes artifacts to the processed signal. Therefore, the design ofsuch a prototype filter can preferably be accomplished by minimizing acomposite objective function. For this purpose, various optimizationalgorithms may be used. Examples are e.g. linear programming methods,Downhill Simplex Method or a non-constrained gradient based method orother nonlinear optimization algorithms. In an exemplary embodiment aninitial solution of the prototype filter is selected. Using thecomposite objective function, a direction for modifying the prototypefilter coefficients is determined which provides the highest gradient ofthe composite objective function. Then the filter coefficients aremodified using a certain step length and the iterative procedure isrepeated until a minimum of the composite objective function isobtained. For further details on such optimization algorithms, referenceis made to “Numerical Recipes in C, The Art of Scientific Computing,Second Edition” W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P.Flannery, Cambridge University Press, N Y, 1992, which is incorporatedby reference.

For improved alias term minimization (IATM) of the prototype filter, apreferred objective function may be denoted

e _(tot)(α)=αe _(t)+(1−α)e _(a),  (30)

where the total error e_(tot)(α) is a weighted sum of the transferfunction error e_(t) and the aliasing error e_(a). The first term on theright hand side (RHS) of Eq.(23) evaluated on the unit circle, i.e. forz=e^(jω), can be used to provide a measure of the error energy e_(t) ofthe transfer function as

$\begin{matrix}{{e_{t} = {\frac{1}{2\pi}{\int_{- \pi}^{\pi}{{{{\frac{1}{2}\left( {{A_{0}\left( e^{j\; \omega} \right)} + {A_{0}^{*}\left( e^{{- j}\; \omega} \right)}} \right)} - {{P(\omega)}e^{{- j}\; \omega \; D}}}}^{2}d\; \omega}}}},} & (31)\end{matrix}$

where P(ω) is a symmetric real-valued function defining the pass bandand stop band ranges, and D is the total system delay. In other words,P(ω) describes the desired transfer function. In the most general case,such transfer function comprises a magnitude which is a function of thefrequency co. For a real-valued system Eq.(31) simplifies to

$\begin{matrix}{e_{t} = {\frac{1}{2\pi}{\int_{- \pi}^{\pi}{{{{A_{0}\left( e^{j\; \omega} \right)} - {{P(\omega)}e^{{- j}\; \omega \; D}}}}^{2}d\; \omega}}}} & (32)\end{matrix}$

The target function P(ω) and the target delay D may be selected as aninput parameter to the optimization procedure. The expressionP(ω)e^(−jwD) may be referred to as the target transfer function.

A measure of the energy of the total aliasing e_(a) may be calculated byevaluating the sum of the alias terms on the right hand side (RHS) ofEq.(23), i.e. the second term of Eq.(23), on the unit circle as

$\begin{matrix}{{e_{a} = {\frac{1}{2\pi}{\sum\limits_{l = 1}^{M - 1}{\int_{- \pi}^{\pi}{{{{\overset{\sim}{A}}_{l}\left( e^{j\; \omega} \right)}}^{2}d\; \omega}}}}},} & (33)\end{matrix}$

For real-valued systems this translates to

$\begin{matrix}{e_{a} = {\frac{1}{2\pi}{\sum\limits_{l = 1}^{M - 1}{\int_{- \pi}^{\pi}{{{A_{l}\left( e^{j\; \omega} \right)}}^{2}d\; {\omega.}}}}}} & (34)\end{matrix}$

Overall, an optimization procedure for determining a prototype filterp₀(n) may be based on the minimization of the error of Eq. (30). Theparameter α may be used to distribute the emphasis between the transferfunction and the sensitivity to aliasing of the prototype filter. Whileincreasing the parameter α towards 1 will put more emphasis on thetransfer function error e_(t), reducing the parameter α towards 0 willput more emphasis on the aliasing error e_(a). The parameters P(ω) and Dmay be used to set a target transfer function of the prototype filterp₀(n), i.e. to define the pass band and stop band behavior and to definethe overall system delay.

According to an example, a number of the filter bank channels k may beset to zero, e.g. the upper half of the filter bank channels are givenzero gain. Consequently, the filter bank is triggered to generate agreat amount of aliasing. This aliasing will be subsequently minimizedby the optimization process. In other words, by setting a certain numberof filter bank channels to zero, aliasing will be induced, in order togenerate an aliasing error e_(a) which may be minimized during theoptimization procedure. Furthermore, computational complexity of theoptimization process may be reduced by setting filter bank channels tozero.

According to an example, a prototype filter is optimized for a realvalued, i.e. a cosine modulated, filter bank which may be moreappropriate than directly optimizing the complex-valued version. This isbecause real-valued processing prioritizes far-off aliasing attenuationto a larger extent than complex-valued processing. However, whentriggering aliasing as outlined above, the major part of the inducedaliasing in this case will typically origin from the terms carrying themain alias terms. Hence, the optimization algorithm may spend resourceson minimizing the main aliasing that is inherently non-present in theresulting complex-exponential modulated system. In order to alleviatethis, the optimization may be done on a partially complex system; forthe alias terms which are free from main aliasing, the optimization maybe done using real-valued filter processing. On the other hand, thealias terms that would carry the main alias terms in a real-valuedsystem would be modified for complex-valued filter processing. By meansof such partially complex optimization, the benefits of performing theprocessing using real-valued processing may be obtained, while stilloptimizing the prototype filter for usage in a complex modulated filterbank system.

In an exemplary optimization where exactly the upper half of the filterbank channels are set to zero, the only alias term calculated fromcomplex valued filters is the term 1=M/2 of Eq.(33). In this example,the function P(ω) of Eq.(31), may be chosen as a unit magnitude constantranging from −π/2+ε to π/2−ε, where c is a fraction of π/2, in order tocover the frequency range constituting the pass band. Outside the passband the function P(ω) may be defined to be zero or be left undefined.

In the latter case, the error energy of the transfer function Eq.(31) isonly evaluated between −π/2+ε and π/2−ε. Alternatively and preferably,the pass band error e_(t) could be calculated over all channels k=0, . .. , M−1, from −π to π with P(ω) being constant, while the aliasing isstill calculated with a plurality of the channels set to zero asdescribed above.

Typically the optimization procedure is an iterative procedure, wheregiven the prototype filter coefficients p₀(n) (n=0, . . . , N−1) at acertain iteration step, the target delay D, the number of channels M,the numbers of low band channels set to zero loCut, the number of highband channels set to zero hiCut, and the weighting factor α, a value forthe objective function for this iteration step is calculated. Usingsemi-complex operations, this comprises the steps:

-   -   1. To obtain the pass band error e_(t), evaluate Eq.(32) with        P(w) being a constant, using

$\begin{matrix}{{{A_{0}\left( e^{j\; \omega} \right)} = {\sum\limits_{k = 0}^{M - 1}{{H_{k}\left( e^{j\; \omega} \right)}{F_{k}\left( e^{j\; \omega} \right)}}}},} & (35)\end{matrix}$

-   -   -   where H_(k)(e^(jω)) and F_(k)(e^(jω)) are the DFT transforms            of the analysis and synthesis filters h_(k)(n) and f_(k)(n)            as generated from the prototype filters coefficients at this            iteration step from Eq. (13) to (15), respectively.

    -   2. To obtain the aliasing error e_(a), for aliasing terms not        subject to significant aliasing, evaluate

$\begin{matrix}{{{e_{aReal} = {\frac{1}{2\pi}{\sum\limits_{{l = 1}{{l \neq {loCut}},{hiCut},{M - {loCut}},{M - {hiCut}}}}^{M - 1}{\int_{- \pi}^{\pi}{{{A_{l}\left( e^{j\; \omega} \right)}}^{2}d\; \omega}}}}},}} & (36)\end{matrix}$

-   -   -   where A_(l)(e^(jω)) is calculated as

$\begin{matrix}{{A_{l}\left( e^{j\; \omega} \right)} = {\sum\limits_{k = {loCut}}^{M - 1 - {hiCut}}{{H_{k}\left( e^{j(\; {\omega - {\frac{2\pi}{M}l}})} \right)}{F_{k}\left( e^{j\; \omega} \right)}}}} & (37)\end{matrix}$

-   -   -   and H_(k)(e^(jω)) and F_(k)(e^(jω)) are the DFT transforms,            i.e. the z-transforms evaluated on the unit circle, of the            analysis and synthesis filters h_(k)(n) and f_(k)(n) from            Eq. (13) to (15).

    -   3. For the terms subject to significant aliasing, evaluate

$\begin{matrix}{e_{aCplx} = {\frac{1}{2\pi}{\sum\limits_{{l = {loCut}},{hiCut},{M - {loCut}},{M - {hiCut}}}{\int_{- \pi}^{\pi}{{{{\overset{\sim}{A}}_{l}\left( e^{j\; \omega} \right)}}^{2}d\; \omega}}}}} & (38)\end{matrix}$

-   -   -   where Ã_(l)(e^(jω)) is given by Eq.(24), with A_(l)(e^(jω))            as Eq.(37), with H_(k)(e^(jω)) and F_(k)(e^(jω)) being the            DFT transforms of h_(k)(n) and f_(k)(n) from Eq.(19) and            (20).

    -   4. The error is subsequently weighted with a as

e _(tot)(α)=αe _(t)+(1−α)(e _(aReal) e _(aCplx)).  (39)

Using any of the nonlinear optimization algorithms referred to above,this total error is reduced by modifying the coefficients of theprototype filter, until an optimal set of coefficients is obtained. Byway of example, the direction of the greatest gradient of the errorfunction e_(tot) is determined for the prototype filter coefficients ata given iteration step. Using a certain step size the prototype filtercoefficients are modified in the direction of the greatest gradient. Themodified prototype filter coefficients are used as a starting point forthe subsequent iteration step. This procedure is repeated until theoptimization procedure has converged to a minimum value of the errorfunction e_(tot).

An exemplary embodiment of the optimization procedure is illustrated inFIG. 3 as a flow diagram 300. In a parameter determination step 301 theparameters of the optimization procedure, i.e. notably the targettransfer function comprising the target delay D, the number of channelsM of the target filter bank, the number N of coefficients of theprototype filter, the weighting parameter α of the objective errorfunction, as well as the parameters for aliasing generation, i.e. loCutand/or hiCut, are defined. In an initialization step 302, a first set ofcoefficients of the prototype filter is selected.

In the pass band error determination unit 303, the pass band error terme_(t) is determined using the given set of coefficients of the prototypefilter. This may be done by using Eq.(32) in combination with Eqs.(35)and (13) to (15). In the real valued aliasing error determination unit304, a first part e_(aReal) of the aliasing error term e_(a) may bedetermined using Eqs.(36) and (37) in combination with Eqs.(13) to (15).Furthermore, in the complex valued aliasing error determination unit305, a second part e_(aCplx) of the aliasing error term e_(a) may bedetermined using Eq.(38) in combination with Eqs.(19) and (20). As aconsequence, the objective function e_(tot) may be determined from theresults of the units 303, 304 and 305 using Eq.(39).

The nonlinear optimization unit 306 uses optimization methods, such aslinear programming, in order to reduce the value of the objectivefunction. By way of example, this may be done by determining a possiblymaximum gradient of the objective function with regards to modificationsof the coefficients of the prototype filter. In other words, thosemodifications of the coefficients of the prototype filter may bedetermined which result in a possibly maximum reduction of the objectivefunction.

If the gradient determined in unit 306 remains within predeterminedbounds, the decision unit 307 decides that a minimum of the objectivefunction has been reached and terminates the optimization procedure instep 308. If on the other hand, the gradient exceeds the predeterminedvalue, then the coefficients of the prototype filter are updated in theupdate unit 309. The update of the coefficients may be performed bymodifying the coefficients with a predetermined step into the directiongiven by the gradient. Eventually, the updated coefficients of theprototype filter are reinserted as an input to the pass band errordetermination unit 303 for another iteration of the optimizationprocedure.

Overall, it can be stated that using the above error function and anappropriate optimization algorithm, prototype filters may be determinedthat are optimized with respect to their degree of perfectreconstruction, i.e. with respect to low aliasing in combination withlow phase and/or amplitude distortion, their resilience to aliasing dueto subband modifications, their system delay and/or their transferfunction. The design method provides parameters, notably a weightingparameter α, a target delay D, a target transfer function P(ω), a filterlength N, a number of filter bank channels M, as well as aliasingtrigger parameters hiCut, loCut, which may be selected to obtain anoptimal combination of the above mentioned filter properties.Furthermore, the setting to zero of a certain number of subbandchannels, as well as the partial complex processing may be used toreduce the overall complexity of the optimization procedure. As aresult, asymmetric prototype filters with a near perfect reconstructionproperty, low sensitivity to aliasing and a low system delay may bedetermined for usage in a complex exponential modulated filter bank. Itshould be noted that the above determination scheme of a prototypefilter has been outlined in the context of a complex exponentialmodulated filter bank. If other filter bank design methods are used,e.g. cosine modulated or sine modulated filter bank design methods, thenthe optimization procedure may be adapted by generating the analysis andsynthesis filters h_(k)(n) and f_(k)(n) using the design equations ofthe respective filter bank design method. By way of example, Eqs.(13) to(15) may be used in the context of a cosine modulated filter bank.

In the following, a detailed example of a 64 channel low delay filterbank is described. Using the proposed aforementioned optimizationmethod, a detailed example of an alias gain term optimized, low delay,64-channel filter bank (M=64) will be outlined. In this example thepartially complex optimization method has been used and the uppermost 40channels have been set to zero during the prototype filter optimization,i.e. hiCut=40, whereas the loCut parameter remained unused. Hence, allalias gain terms, except Ã_(l), where l=24, 40, are calculated usingreal-valued filters. The total system delay is chosen as D=319, and theprototype filter length is N=640. A time domain plot of the resultingprototype filter is given in FIG. 4(a), and the frequency response ofthe prototype filter is depicted in FIG. 4(b). The filter bank offers apass band (amplitude and phase) reconstruction error of −72 dB. Thephase deviation from a linear phase is smaller than ±0.02°, and thealiasing suppression is 76 dB when no modifications are done to thesubband samples. The actual filter coefficients are tabulated inTable 1. Note that the coefficients are scaled by a factor M=64 inrespect to other equations in this document that are dependent on anabsolute scaling of the prototype filter.

While the above description of the design of the filter bank is based ona standard filter bank notation, an example for operating the designedfilter bank may operate in other filter bank descriptions or notations,e.g. filter bank implementations which allow a more efficient operationon a digital signal processor.

In an example, the steps for filtering a time domain signal using theoptimized prototype filter may be described as follows:

-   -   In order to operate the filter bank in an efficient manner, the        prototype filter, i.e. p₀(n) from Table 1, is first arranged in        the poly-phase representation, where every other of the        poly-phase filter coefficients are negated and all coefficient        are time-flipped as

p′ ₀(639−128m−n)=(−1)^(m) p ₀(128m+n), 0≦n<128, 0≦m<5  (40)

-   -   The analysis stage begins with the poly-phase representation of        the filter being applied to the time domain signal x(n) to        produce a vector x_(l)(n) of length 128 as

$\begin{matrix}{{{x_{127 - l}(n)} = {\sum\limits_{m = 0}^{4}{{p_{0}^{\prime}\left( {{128m} + l} \right)} \times \left( {{128m} + l + {64n}} \right)}}},{0 \leq l < 128},{n = 0},1,\ldots} & (41)\end{matrix}$

-   -   x_(l)(n) is subsequently multiplied with a modulation matrix as

$\begin{matrix}{{{v_{k}(n)} = {\sum\limits_{l = 0}^{127}{{x_{l}(n)}{\exp \left( {j\; \frac{\pi}{128}\left( {k + \frac{1}{2}} \right)\left( {{2l} + 129} \right)} \right)}}}},{0 \leq k < 64},} & (42)\end{matrix}$

-   -   where v_(k)(n), k=0 . . . 63, constitute the subband signals.        The time index n is consequently given in subband samples.    -   The complex-valued subband signals can then be modified, e.g.        according to some desired, possibly time-varying and        complex-valued, equalization curve g_(k)(n), as

v _(k) ^((m)) =g _(k)(n)v _(k)(n), 0≦k<64.  (43)

-   -   The synthesis stage starts with a demodulation step of the        modified subband signals as

$\begin{matrix}{{{u_{l}(n)} = {\frac{1}{64}{\sum\limits_{k = 0}^{63}{{Re}\left\{ {{v_{k}^{(m)}(n)}{\exp \left( {j\; \frac{\pi}{128}\left( {k + \frac{1}{2}} \right)\left( {{2l} - 255} \right)} \right)}} \right\}}}}},{0 \leq l < 128.}} & (44)\end{matrix}$

-   -   It should be noted that the modulation steps of Eqs.(42)        and (44) may be accomplished in a computationally very efficient        manner with fast algorithms using fast Fourier transform (FFT)        kernels.    -   The demodulated samples are filtered with the poly-phase        representation of the prototype filter and accumulated to the        output time domain signal {circumflex over (x)}(n) according to

{circumflex over (x)}(128m+l+64n)={circumflex over (x)}(128m+l+64n)+p′₀(639−128m−l)u _(l)(l), 0≦l<128, 0≦m<5, n=0,1, . . .  (45)

-   -   where {circumflex over (x)}(n) is set to 0 for all n at start-up        time.

It should be noted that both floating point and fixed pointimplementations might change the numerical accuracy of the coefficientsgiven in Table 1 to something more suitable for processing. Withoutlimiting the scope, the values may be quantized to a lower numericalaccuracy by rounding, truncating and/or by scaling the coefficients tointeger or other representations, in particular representations that areadapted to the available resources of a hardware and/or softwareplatform on which the filter bank is to operate.

Moreover, the example above outlines the operation where the time domainoutput signal is of the same sampling frequency as the input signal.Other implementations may resample the time domain signal by usingdifferent sizes, i.e. different number of channels, of the analysis andsynthesis filter banks, respectively. However, the filter banks shouldbe based on the same prototype filter, and are obtained by resampling ofthe original prototype filter through either decimation orinterpolation. As an example, a prototype filter for a 32 channel filterbank is achieved by resampling the coefficients p₀(n) as

${{p_{0}^{(32)}(i)} = {\frac{1}{2}\left\lbrack {{p_{0}\left( {{2i} + 1} \right)} + {p_{0}\left( {2i} \right)}} \right\rbrack}},{0 \leq i < 320.}$

The length of the new prototype filter is hence 320 and the delay isD=└319/2┘=159, where the operator └·┘ returns the integer part of itsargument.

TABLE 1 Coefficients of a 64 channel low delay prototype filter n P₀(n)0 −7.949261005955764e−4 1 −1.232074328145439e−3 2 −1.601053942982895e−33 −1.980720409470913e−3 4 −2.397504953865715e−3 5 −2.838709203607079e−36 −3.314755401090670e−3 7 −3.825180949035082e−3 8 −4.365307413613105e−39 −4.937260935539922e−3 10 −5.537381514710146e−3 11−6.164241937824271e−3 12 −6.816579194002503e−3 13 −7.490102145765528e−314 −8.183711450708110e−3 15 −8.894930051379498e−3 16−9.620004581607449e−3 17 −1.035696814015217e−2 18 −1.110238617202191e−219 −1.185358556146692e−2 20 −1.260769256679562e−2 21−1.336080675156018e−2 22 −1.411033176541011e−2 23 −1.485316243134798e−224 −1.558550942227883e−2 25 −1.630436835497356e−2 26−1.700613959422392e−2 27 −1.768770555992799e−2 28 −1.834568069395711e−229 −1.897612496482356e−2 30 −1.957605813345359e−2 31−2.014213322475170e−2 32 −2.067061748933033e−2 33 −2.115814831921453e−234 −2.160130854695980e−2 35 −2.199696217022438e−2 36−2.234169110698344e−2 37 −2.263170795250229e−2 38 −2.286416556008894e−239 −2.303589449043864e−2 40 −2.314344724218223e−2 41−2.318352524475873e−2 42 −2.315297727620401e−2 43 −2.304918234544422e−244 −2.286864521420490e−2 45 −2.260790764376614e−2 46−2.226444264459477e−2 47 −2.183518667784246e−2 48 −2.131692017682024e−249 −2.070614962636994e−2 50 −1.999981321635736e−2 51−1.919566223498554e−2 52 −1.828936158524688e−2 53 −1.727711874492186e−254 −1.615648494779686e−2 55 −1.492335807272955e−2 56−1.357419760297910e−2 57 −1.210370330110896e−2 58 −1.050755164953818e−259 −8.785746151726750e−3 60 −6.927329556345040e−3 61−4.929378450735877e−3 62 −2.800333941149626e−3 63 −4.685580749545335e−464 2.210315255690887e−3 65 5.183294908090526e−3 66 8.350964449424035e−367 1.166118535611788e−2 68 1.513166797475777e−2 69 1.877264877027943e−270 2.258899222368603e−2 71 2.659061474958830e−2 72 3.078087745385930e−273 3.516391224752870e−2 74 3.974674893613862e−2 75 4.453308211110493e−276 4.952626097917320e−2 77 5.473026727738295e−2 78 6.014835645056577e−279 6.578414516120631e−2 80 7.163950999489413e−2 81 7.771656494569829e−282 8.401794441130064e−2 83 9.054515924487507e−2 84 9.729889691289549e−285 1.042804039148369e−1 86 1.114900795290448e−1 87 1.189284254931251e−188 1.265947532678997e−1 89 1.344885599112251e−1 90 1.426090972422485e−191 1.509550307914161e−1 92 1.595243494708706e−1 93 1.683151598707939e−194 1.773250461581686e−1 95 1.865511418631904e−1 96 1.959902227114119e−197 2.056386275763479e−1 98 2.154925974105375e−1 99 2.255475564993390e−1100 2.357989864681126e−1 101 2.462418809459464e−1 1022.568709554604541e−1 103 2.676805358910440e−1 104 2.786645734207760e−1105 2.898168394038287e−1 106 3.011307516871287e−1 1073.125994749246541e−1 108 3.242157192666507e−1 109 3.359722796803192e−1110 3.478614117031655e−1 111 3.598752336287570e−1 1123.720056632072922e−1 113 3.842444358173011e−1 114 3.965831241942321e−1115 4.090129566893579e−1 116 4.215250930838456e−1 1174.341108982328533e−1 118 4.467608231633283e−1 119 4.594659376709624e−1120 4.722166595058233e−1 121 4.850038204075748e−1 1224.978178235802594e−1 123 5.106483456192374e−1 124 5.234865375971977e−1125 5.363218470709771e−1 126 5.491440356706657e−1 1275.619439923555571e−1 128 5.746001351404267e−1 129 5.872559277139351e−1130 5.998618924353250e−1 131 6.123980151490041e−1 1326.248504862282382e−1 133 6.372102969387355e−1 134 6.494654463921502e−1135 6.616044277534099e−1 136 6.736174463977084e−1 1376.854929931488056e−1 138 6.972201618598393e−1 139 7.087881675504216e−1140 7.201859881692665e−1 141 7.314035334082558e−1 1427.424295078874311e−1 143 7.532534422335129e−1 144 7.638649113306198e−1145 7.742538112450130e−1 146 7.844095212375462e−1 1477.943222347831999e−1 148 8.039818519286321e−1 149 8.133789939828571e−1150 8.225037151897938e−1 151 8.313468549324594e−1 1528.398991600556686e−1 153 8.481519810689574e−1 154 8.560963550316389e−1155 8.637239863984174e−1 156 8.710266607496513e−1 1578.779965198108476e−1 158 8.846258145496611e−1 159 8.909071890560218e−1160 8.968337036455653e−1 161 9.023985431182168e−1 1629.075955881221292e−1 163 9.124187296760565e−1 164 9.168621399784253e−1165 9.209204531389191e−1 166 9.245886139655739e−1 1679.278619263447355e−1 168 9.307362242659798e−1 169 9.332075222986479e−1170 9.352724511271509e−1 171 9.369278287932853e−1 1729.381709878904797e−1 173 9.389996917291260e−1 174 9.394121230559878e−1175 9.394068064126931e−1 176 9.389829174860432e−1 1779.381397976778112e−1 178 9.368773370086998e−1 179 9.351961242404785e−1180 9.330966718935136e−1 181 9.305803205049067e−1 1829.276488080866625e−1 183 9.243040558859498e−1 184 9.205488097488350e−1185 9.163856478189402e−1 186 9.118180055332041e−1 1879.068503557855540e−1 188 9.014858673099563e−1 189 8.957295448806664e−1190 8.895882558527375e−1 191 8.830582442418677e−1 1928.761259906419252e−1 193 8.688044201931157e−1 194 8.611140376567749e−1195 8.530684188588082e−1 196 8.446723286380624e−1 1978.359322523144003e−1 198 8.268555005748937e−1 199 8.174491260941859e−1200 8.077214932837783e−1 201 7.976809997929416e−1 2027.873360271773119e−1 203 7.766956604639097e−1 204 7.657692341138960e−1205 7.545663748526984e−1 206 7.430967641354331e−1 2077.313705248813991e−1 208 7.193979757178656e−1 209 7.071895814695481e−1210 6.947561322714310e−1 211 6.821083135331770e−1 2126.692573319585476e−1 213 6.562143182387809e−1 214 6.429904538706975e−1215 6.295973685335782e−1 216 6.160464554756299e−1 2176.023493418727370e−1 218 5.885176369189331e−1 219 5.745630487304467e−1220 5.604973280717471e−1 221 5.463322649085826e−1 2225.320795532569365e−1 223 5.177509557831821e−1 224 5.033582842235876e−1225 4.889131973708936e−1 226 4.744274511088447e−1 2274.599125196114154e−1 228 4.453800290341801e−1 229 4.308413090599260e−1230 4.163077444128621e−1 231 4.017905891818764e−1 2323.873008819361793e−1 233 3.728496914938361e−1 234 3.584479879275654e−1235 3.441060828393923e−1 236 3.298346836739700e−1 2373.156442070098094e−1 238 3.015447421741344e−1 239 2.875462383794429e−1240 2.736584401802921e−1 241 2.598909819775319e−1 2422.462531686198759e−1 243 2.327540108460799e−1 244 2.194025590645563e−1245 2.062071988727463e−1 246 1.931765200055820e−1 2471.803186073942884e−1 248 1.676410590306998e−1 249 1.551517472268748e−1250 1.428578337203540e−1 251 1.307662172525294e−1 2521.188837988250476e−1 253 1.072167300568495e−1 254 9.577112136322552e−2255 8.455282024161610e−2 256 7.355793885744523e−2 2576.280513608528435e−2 258 5.229589453075828e−2 259 4.203381031272017e−2260 3.202301123728688e−2 261 2.226720136600903e−2 2621.277000586069404e−2 263 3.534672952747162e−3 264 −5.435672410526313e−3265 −1.413857081863553e−2 266 −2.257147752062613e−2 267−3.073254829666290e−2 268 −3.861994968092324e−2 269−4.623245158508806e−2 270 −5.356875686113461e−2 271−6.062844791918062e−2 272 −6.741087925238425e−2 273−7.391592258255635e−2 274 −8.014393008412193e−2 275−8.609517876186421e−2 276 −9.177059647159572e−2 277−9.717118785672957e−2 278 −1.022983899423088e−1 279−1.071535873159799e−1 280 −1.117390940373963e−1 281−1.160565563647874e−1 282 −1.201089957775325e−1 283−1.238986104503973e−1 284 −1.274286534385776e−1 285−1.307022037585206e−1 286 −1.337226598624689e−1 287−1.364936502000925e−1 288 −1.390190836588895e−1 289−1.413030335001078e−1 290 −1.433497698594264e−1 291−1.451636222445455e−1 292 −1.467494079461177e−1 293−1.481116975400198e−1 294 −1.492556249421260e−1 295−1.501862836334994e−1 296 −1.509089024309573e−1 297−1.514289033634045e−1 298 −1.517517580141857e−1 299−1.518832057448775e−1 300 −1.518289202172233e−1 301−1.515947694390820e−1 302 −1.511866738705995e−1 303−1.506105955209982e−1 304 −1.498725980913964e−1 305−1.489787144055076e−1 306 −1.479352185844335e−1 307−1.467481851768966e−1 308 −1.454239120021382e−1 309−1.439685961257477e−1 310 −1.423884130127772e−1 311−1.406896926563808e−1 312 −1.388785953623746e−1 313−1.369612022106282e−1 314 −1.349437727408798e−1 315−1.328323917411932e−1 316 −1.306331212230066e−1 317−1.283520431992394e−1 318 −1.259952253813674e−1 319−1.235680807908494e−1 320 −1.210755701624524e−1 321−1.185237142283346e−1 322 −1.159184450952715e−1 323−1.132654367461266e−1 324 −1.105698782276963e−1 325−1.078369135648348e−1 326 −1.050716118804287e−1 327−1.022789198651472e−1 328 −9.946367410320074e−2 329−9.663069107327295e−2 330 −9.378454802679648e−2 331−9.092970207094843e−2 332 −8.807051083640835e−2 333−8.521107266503664e−2 334 −8.235562752947133e−2 335−7.950789957683559e−2 336 −7.667177989755110e−2 337−7.385092587441364e−2 338 −7.104866702770536e−2 339−6.826847016140082e−2 340 −6.551341011471171e−2 341−6.278658929544248e−2 342 −6.009091369370080e−2 343−5.742919825387360e−2 344 −5.480383115198150e−2 345−5.221738078737957e−2 346 −4.967213638808988e−2 347−4.717023345307148e−2 348 −4.471364025371278e−2 349−4.230438144160113e−2 350 −3.994384828552555e−2 351−3.763371362431132e−2 352 −3.537544041600725e−2 353−3.317035188016126e−2 354 −3.101971215825843e−2 355−2.892453070357571e−2 356 −2.688575425197388e−2 357−2.490421725219031e−2 358 −2.298058501129975e−2 359−2.111545692324888e−2 360 −1.930927680100128e−2 361−1.756239270089077e−2 362 −1.587511449869362e−2 363−1.424750749465213e−2 364 −1.267955527855867e−2 365−1.117125833414906e−2 366 −9.722405440999532e−3 367−8.332704660914712e−3 368 −7.001789872901951e−3 369−5.729226040772489e−3 370 −4.514503359783591e−3 371−3.356946762357950e−3 372 −2.255849987026407e−3 373−1.210459261524451e−3 374 −2.199474640570699e−4 375 7.167268627887994e−4376 1.600440185590357e−3 377 2.432366605744087e−3 3783.213605482343768e−3 379 3.945301462616821e−3 380 4.628665378925932e−3381 5.264976586624488e−3 382 5.855653555178131e−3 3836.401634331453516e−3 384 6.903046246257517e−3 385 7.364537203059431e−3386 7.785917436812734e−3 387 8.168780818165564e−3 3888.514510536234886e−3 389 8.824526581578384e−3 390 9.100444687042341e−3391 9.343819821939981e−3 392 9.556089247587111e−3 3939.738929904236388e−3 394 9.893728065983530e−3 395 1.002221842309897e−2396 1.012567516563336e−2 397 1.020575952382967e−2 3981.026389875785943e−2 399 1.030162959448537e−2 400 1.032037849566083e−2401 1.032154667898522e−2 402 1.030658039367325e−2 4031.027682791880806e−2 404 1.023360327572998e−2 405 1.017821017226088e−2406 1.011195224927225e−2 407 1.003602653649432e−2 4089.951564927254814e−3 409 9.859735321541087e−3 410 9.761689935477358e−3411 9.658335268268776e−3 412 9.550506541750015e−3 4139.439239790180602e−3 414 9.325311662898867e−3 415 9.209571052890813e−3416 9.092729858436259e−3 417 8.975504153186832e−3 4188.858564024669505e−3 419 8.742547510216072e−3 420 8.627917215653412e−3421 8.515236113018675e−3 422 8.404834686887089e−3 4238.297046056582970e−3 424 8.192181771808344e−3 425 8.090558375952284e−3426 7.992340268718087e−3 427 7.897787592331651e−3 4287.806979111626161e−3 429 7.720005213599928e−3 430 7.636899169053526e−3431 7.557692588413262e−3 432 7.482361735247336e−3 4337.410882580163479e−3 434 7.343084196594709e−3 435 7.278918614409016e−3436 7.218206312830178e−3 437 7.160843298305507e−3 4387.106600272887440e−3 439 7.055249359796239e−3 440 7.006591539682229e−3441 6.960450953203489e−3 442 6.916554770130135e−3 4436.874623603448978e−3 444 6.834443173086539e−3 445 6.795786363014294e−3446 6.758476537306303e−3 447 6.722125942626111e−3 4486.686140904391229e−3 449 6.650228698006217e−3 450 6.614354298921371e−3451 6.578320578669048e−3 452 6.541865503698597e−3 4536.504729306516950e−3 454 6.466690242148724e−3 455 6.427556828582072e−3456 6.387124476277924e−3 457 6.345262303711465e−3 4586.301766582696827e−3 459 6.256542736138121e−3 460 6.209372064970386e−3461 6.160215935384255e−3 462 6.108902434484468e−3 4636.055355267266873e−3 464 5.999473903317320e−3 465 5.941211676077848e−3466 5.880495927392625e−3 467 5.817286139372493e−3 4685.751536864441650e−3 469 5.683230954033062e−3 470 5.612375999953358e−3471 5.538957988293047e−3 472 5.462963107291498e−3 4735.384396217909888e−3 474 5.303337109336215e−3 475 5.219739772898678e−3476 5.133623037830525e−3 477 5.045046346880483e−3 4784.954008597884707e−3 479 4.860588885693231e−3 480 4.764720830452409e−3481 4.666469548192818e−3 482 4.565946029127366e−3 4834.463150894014690e−3 484 4.358150755039186e−3 485 4.250967471708103e−3486 4.141634861746089e−3 487 4.030165355928349e−3 4883.916597675997815e−3 489 3.800994685405442e−3 490 3.683451012833619e−3491 3.563914929838276e−3 492 3.442490007998456e−3 4933.319256438897666e−3 494 3.194250476422174e−3 495 3.067525877056119e−3496 2.939139106182801e−3 497 2.809151898728351e−3 4982.677703006241942e−3 499 2.544830774162231e−3 500 2.410617950987095e−3501 2.275190768887402e−3 502 2.138586519570023e−3 5032.000881763033976e−3 504 1.862161137529843e−3 505 1.722850651410707e−3506 1.583005323492318e−3 507 1.442635273572746e−3 5081.301735673138880e−3 509 1.160531184883257e−3 510 1.018710154718430e−3511 8.753658738743612e−4 512 7.250868879948704e−4 5135.901514303345345e−4 514 4.571251178344833e−4 515 3.254504484897777e−4516 1.951832637892118e−4 517 6.661818101906931e−5 518−6.002729636107936e−5 519 −1.845163192347697e−4 520−3.065712811761140e−4 521 −4.259661821125124e−4 522−5.424773586381941e−4 523 −6.558084462274315e−4 524−7.659101269870789e−4 525 −8.724859431432570e−4 526−9.753531169034512e−4 527 −1.074300123306481e−3 528−1.169143931350576e−3 529 −1.259725653234229e−3 530−1.345834916989234e−3 531 −1.427339710937440e−3 532−1.504079803740054e−3 533 −1.575880973843057e−3 534−1.642633580824677e−3 535 −1.704200291375062e−3 536−1.760514312756149e−3 537 −1.811458673156579e−3 538−1.856981580032126e−3 539 −1.897029046447624e−3 540−1.931585942699363e−3 541 −1.960627084932276e−3 542−1.984178530495641e−3 543 −2.002288840866127e−3 544−2.014916352347506e−3 545 −2.022189226793424e−3 546−2.024254777335021e−3 547 −2.021156706871573e−3 548−2.013111787438794e−3 549 −2.000212633130633e−3 550−1.982687042477966e−3 551 −1.960693892404943e−3 552−1.934407806173517e−3 553 −1.904123563599214e−3 554−1.870072199436830e−3 555 −1.832519954023970e−3 556−1.791756667369466e−3 557 −1.747978720577777e−3 558−1.701541033746949e−3 559 −1.652689459435072e−3 560−1.601690868666912e−3 561 −1.548954090992685e−3 562−1.494709797777335e−3 563 −1.439190571857024e−3 564−1.382763830841281e−3 565 −1.325642967049430e−3 566−1.268184236874211e−3 567 −1.210596701555163e−3 568−1.153025111297160e−3 569 −1.095962010293130e−3 570−1.039553843860894e−3 571 −9.838346246983619e−4 572−9.290281181623759e−4 573 −8.749810533387956e−4 574−8.215803921619577e−4 575 −7.706114369075383e−4 576−7.240453976226097e−4 577 −6.849432723864428e−4 578−6.499492788836954e−4 579 −6.169265465797999e−4 580−5.864023580206857e−4 581 −5.585564628691223e−4 582−5.332623456777386e−4 583 −5.106711356117643e−4 584−4.907668696713635e−4 585 −4.734587422398502e−4 586−4.585871522474066e−4 587 −4.460035977692689e−4 588−4.356377129231574e−4 589 −4.273247732616044e−4 590−4.208333621911742e−4 591 −4.159437129295563e−4 592−4.123958508631197e−4 593 −4.100224176114866e−4 594−4.085466400930828e−4 595 −4.077080867389932e−4 596−4.073254606881664e−4 597 −4.070933269997811e−4 598−4.067607615013048e−4 599 −4.061488056951641e−4 600−4.050555465493161e−4 601 −4.033838274959328e−4 602−4.008810861049167e−4 603 −3.973769462134710e−4 604−3.928186163645286e−4 605 −3.870561868619109e−4 606−3.799993669990150e−4 607 −3.715971708042990e−4 608−3.617549303005874e−4 609 −3.505340232816606e−4 610−3.378810708512397e−4 611 −3.237820254163679e−4 612−3.083797394566325e−4 613 −2.916580376245428e−4 614−2.737128656378774e−4 615 −2.546266898474145e−4 616−2.344785058384558e−4 617 −2.134575242388197e−4 618−1.916264055195752e−4 619 −1.692851860592005e−4 620−1.466953561242506e−4 621 −1.236855725370398e−4 622−1.005737421222391e−4 623 −7.750656629326379e−5 624−5.466984383016220e−5 625 −3.255925659037227e−5 626−1.096860208856302e−5 627 9.881411051921578e−6 628 2.951496818998434e−5629 4.810106298036608e−5 630 6.513783951460106e−5 6318.051456871678129e−5 632 9.429776656872437e−5 633 1.058298511976110e−4634 1.155823148740170e−4 635 1.229659417867084e−4 6361.266886375085138e−4 637 1.279376783418106e−4 638 1.216914974923773e−4639 9.386301157644215e−5

In the following, different aspects of practical implementations areoutlined. Using a standard PC or DSP, real-time operation of a low delaycomplex-exponential modulated filter bank is possible. The filter bankmay also be hard-coded on a custom chip. FIG. 5(a) shows the structurefor an effective implementation of the analysis part of acomplex-exponential modulated filter bank system. The analogue inputsignal is first fed to an A/D converter 501. The digital time domainsignal is fed to a shift register holding 2M samples shifting M samplesat a time 502. The signals from the shift register are then filteredthrough the poly-phase coefficients of the prototype filter 503. Thefiltered signals are subsequently combined 504 and in paralleltransformed with a DCT-IV 505 and a DST-IV 506 transform. The outputsfrom the cosine and sine transforms constitute the real and theimaginary parts of the subband samples respectively. The gains of thesubband samples are modified according to the current spectral envelopeadjuster setting 507.

An effective implementation of the synthesis part of a low delaycomplex-exponential modulated system is shown in FIG. 5(b). The subbandsamples are first multiplied with complex-valued twiddle-factors, i.e.complex-valued channel dependent constants, 511, and the real part ismodulated with a DCT-IV 512 and the imaginary part with a DST-IV 513transform. The outputs from the transforms are combined 514 and fedthrough the poly-phase components of the prototype filter 515. The timedomain output signal is obtained from the shift register 516. Finally,the digital output signal is converted back to an analogue waveform 517.

While the above outlined implementations use DCT and DST type IVtransforms, implementations using DCT type II and III kernels areequally possible (and also DST type II and III based implementations).However, the most computationally efficient implementations forcomplex-exponential modulated banks use pure FFT kernels.Implementations using a direct matrix-vector multiplication are alsopossible but are inferior in efficiency.

In summary, the present document describes a design method for prototypefilters used in analysis/synthesis filter banks. Desired properties ofthe prototype filters and the resulting analysis/synthesis filter banksare near perfect reconstruction, low delay, low sensitivity to aliasingand minimal amplitude/phase distortion. An error function is proposedwhich may be used in an optimization algorithm to determine appropriatecoefficients of the prototype filters. The error function comprises aset of parameters that may be tuned to modify the emphasis between thedesired filter properties. Preferably, asymmetric prototype filters areused. Furthermore, a prototype filter is described which provides a goodcompromise of desired filter properties, i.e. near perfectreconstruction, low delay, high resilience to aliasing and minimalphase/amplitude distortion.

While specific embodiments and applications have been described herein,it will be apparent to those of ordinary skill in the art that manyvariations on the embodiments and applications described herein arepossible without departing from the scope of the invention described andclaimed herein. It should be understood that while certain forms of theinvention have been shown and described, the invention is not to belimited to the specific embodiments described and shown or the specificmethods described.

The filter design method and system as well as the filter bank describedin the present document may be implemented as software, firmware and/orhardware. Certain components may e.g. be implemented as software runningon a digital signal processor or microprocessor. Other component maye.g. be implemented as hardware and or as application specificintegrated circuits. The signals encountered in the described methodsand systems may be stored on media such as random access memory oroptical storage media. They may be transferred via networks, such asradio networks, satellite networks, wireless networks or wirelinenetworks, e.g. the Internet. Typical devices making use of the filterbanks described in the present document are set-top boxes or othercustomer premises equipment which decode audio signals. On the encodingside, the filter banks may be used in broadcasting stations, e.g. invideo headend systems.

1. A signal processing device for filtering and performing highfrequency reconstruction of an audio signal, the signal processingdevice comprising: an analysis filter bank that receives real valuedtime domain input audio samples and generates complex-valued subbandsamples; a phase shifter that shifts a phase of the complex-valuedsubband samples by an amount; a high frequency reconstructor thatgenerates modified complex-valued subband samples through a highfrequency reconstruction process; a phase shifter that unshifts a phaseof the modified complex-valued subband samples by the amount; and asynthesis filter bank that receives the modified complex-valued subbandsamples and generates time domain output audio samples, wherein theanalysis filter bank comprises analysis filters (h_(k)(n)) and thesynthesis filter bank comprises synthesis filters (f_(k)(n)) that arecomplex exponential modulated versions of a prototype filter (p₀(n))according to:${{h_{k}(n)} = {{f_{k}(n)} = {{p_{0}(n)}\exp \left\{ {i\frac{\pi}{M}\left( {k + \frac{1}{2}} \right)\left( {n - \frac{D}{2}} \right)} \right\}}}},{0 \leq n < N},\; {0 \leq k < M}$where M is a number of channels, the prototype filter (p₀(n)) has alength N, and the analysis filter bank and synthesis filter bank have asystem delay of D samples, wherein one or more of the analysis filterbank, the high frequency reconstructor, and the synthesis filter bank isimplemented, at least in part, by one or more hardware elements of thesignal processing device, and wherein the high frequency reconstructorcomprises a spectral envelope adjuster that adjusts a spectral envelopeof at least some of the complex valued subband samples.
 2. The signalprocessing device of claim 1 wherein the prototype filter (p₀(n)) is asymmetric low pass prototype filter or an asymmetric low pass prototypefilter.
 3. The signal processing device of claim 1 wherein the analysisfilter bank is a pseudo QMF bank.
 4. The signal processing device ofclaim 1 wherein an order of the prototype filter (p₀(n)) equals thesystem delay D.
 5. The signal processing device of claim 1 wherein thehigh frequency reconstructor performs spectral band replication (SBR).6. The signal processing device of claim 1 wherein a value of the amountis chosen to reduce a complexity of an implementation of the apparatus.7. The signal processing device of claim 1 wherein the one or morehardware elements comprise a digital signal processor, a microprocessor,or a memory.
 8. The signal processing device of claim 1 wherein thenumber of channels in the analysis filter bank is different than anumber of channels in the synthesis filter bank.
 9. The signalprocessing device of claim 8 wherein the number of channels in theanalysis filter bank is 32 and the number of channels in the synthesisfilter bank is
 64. 10. A method performed by an signal processing devicefor filtering and performing high frequency reconstruction of an audiosignal, the method comprising: receiving real-valued time domain inputaudio samples; filtering the real-valued time domain input audio sampleswith an analysis filter bank to generate complex valued subband samples;shifting a phase of the complex-valued subband samples by an amount;generating modified complex valued subband samples through a highfrequency reconstruction process; unshifting a phase of the modifiedcomplex-valued subband samples by the amount; receiving the modifiedcomplex valued subband samples; filtering the modified complex valuedsubband samples with a synthesis filter bank to generate time domainoutput audio samples, wherein the analysis filter bank comprisesanalysis filters (h_(k)(n)) and the synthesis filter bank comprisessynthesis filters (f_(k)(n)) that are complex exponential modulatedversions of a prototype filter (p₀(n)) according to:${{h_{k}(n)} = {{f_{k}(n)} = {{p_{0}(n)}\exp \left\{ {i\frac{\pi}{M}\left( {k + \frac{1}{2}} \right)\left( {n - \frac{D}{2}} \right)} \right\}}}},{0 \leq n < N},\; {0 \leq k < M}$where M is a number of channels, the prototype filter (p₀(n)) has alength N, and the analysis filter bank and synthesis filter bank have asystem delay of D samples, wherein the signal processing devicecomprises one or more hardware elements, and wherein the generatingmodified complex valued subband samples further comprises adjusting aspectral envelope of at least some of the complex valued subbandsamples.
 11. A non-transitory computer readable medium containinginstructions that when executed by a processor perform the method ofclaim 10.